package com.itqf.ipmsys.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.itqf.ipmsys.dto.ParkingRecordDto;
import com.itqf.ipmsys.entity.ParkingRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.itqf.ipmsys.vo.ParkingRecordVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 停车记录 Mapper 接口
 * </p>
 *
 * @author corn
 * @since 2021-09-22
 */
public interface ParkingRecordMapper extends BaseMapper<ParkingRecord> {

    /**
     * 查询总收入
     */
    Integer selectAllPrice();
    /**
     * 查找所有的停车记录, 有检索条件的时候按条件检索
     *      多表查询:
     *          停车记录表
     *          车辆信息表
     *          收费员表(管理员表)
     * @param page
     * @param parkingRecordDto
     * @return
     */
    IPage<Map<String, ParkingRecordVo>> selectAllOrByKeys(
            @Param(value = "page") IPage<Map<String, Object>> page,
            @Param(value = "parkingRecordDto") ParkingRecordDto parkingRecordDto);

    /**
     * 查找最近三个停车记录
     * @return
     */
    List<Object> selectParkingThreeRecord();

}
